* Insert or update the redirect table entry for this page to indicate it redirects to $rt
* @param Title $rt Redirect target
* @param int|null $oldLatest Prior page_latest for check and set
+ * @return bool Success
*/
public function insertRedirectEntry( Title $rt, $oldLatest = null ) {
$dbw = wfGetDB( DB_MASTER );
],
__METHOD__
);
+ $success = true;
+ } else {
+ $success = false;
}
$dbw->endAtomic( __METHOD__ );
+
+ return $success;
}
/**
}
if ( $isRedirect ) {
- $this->insertRedirectEntry( $redirectTitle );
+ $success = $this->insertRedirectEntry( $redirectTitle );
} else {
// This is not a redirect, remove row from redirect table
$where = [ 'rd_from' => $this->getId() ];
$dbw->delete( 'redirect', $where, __METHOD__ );
+ $success = true;
}
if ( $this->getTitle()->getNamespace() == NS_FILE ) {
RepoGroup::singleton()->getLocalRepo()->invalidateImageRedirect( $this->getTitle() );
}
- return ( $dbw->affectedRows() != 0 );
+ return $success;
}
/**
public function provideUpdateRedirectOn() {
yield [ '#REDIRECT [[Foo]]', true, null, true, true, 0 ];
- yield [ '#REDIRECT [[Foo]]', true, 'Foo', true, false, 1 ];
+ yield [ '#REDIRECT [[Foo]]', true, 'Foo', true, true, 1 ];
yield [ 'SomeText', false, null, false, true, 0 ];
- yield [ 'SomeText', false, 'Foo', false, false, 1 ];
+ yield [ 'SomeText', false, 'Foo', false, true, 1 ];
}
/**